The following abbreviations are herewith expanded, at least some of which are referred to within the following description of the state-of-the-art and the present invention.    AQM Active Queue Management    DCTCP Data Center TCP    ECN Explicit Congestion Notification    IETF Internet Engineering Task Force    IP Internet Protocol    PIE Proportional Integral controller Enhanced    PI2 PI Improved    RTT Round Trip Time    TCP Transmission Control Protocol
A communication network may be used to transport data from one device to another over short or long distances. The data may represent information such as emails, voice calls, or streaming video. Older networks such as a PSTN (public switched telephone network) would use a system of mechanical or electrical switches to establish a compete circuit between the devices for this purpose, but currently data-routing networks such as the Internet are becoming dominant.
In a data-routing network, information to be conveyed from one device to another is converted into digital form, a series of numbers, and transmitted to the network along with an indication of its intended destination. The data will often travel through many intermediate devices, which may be called nodes and which receive the transmitted information and forward it on the next leg of its journey.
For this to work, of course, there must be agree-upon rules or protocols so each node understands where to forward received information. One protocol used by the Internet, for example, is TCP (transmission control protocol). When being transported, digital data is grouped into packets, each with its own added header that includes the address of the packet's destination. Transmitted information such as a document or multi-media presentation may be sent divided into a great many packets, so also included in a packet header is information to facilitate reassembling the data in the packets into its intended form. When a packet is received at its destination, it returns an acknowledgement to the source. If no acknowledgement is received after a certain time, the packet may be re-transmitted.
Although each node is capable of forwarding received packets at great speed, the vast quantity of data traffic and the necessity of reading the address information require that the data packets must be temporarily stored in a memory device often referred to as a buffer or queue. While the delay involved is often not perceptible or at least inconvenient, at time the network may become congested due to the amount of traffic that is being conveyed. Protocols therefore include rules and guidelines intended to reduce congestion or in some cases prioritize certain traffic flows.
In general, congestion control involves monitoring data traffic and communicating congestion status to source devices so that they can adjust their rates of transmission. As one example, some currently deployed TCP congestion controller implementations in the Internet adapt their throughput rate (r) proportionally to the reciprocal of the square root of the congestion signals from the network:r=C/p1/2·RTTwhere:    p is the probability of marked or dropped packets;    C is a constant 1.22 (for Reno flows); and    RTT the round trip time between a source and a destination.
Controlling this probability in the network is difficult as there is no linear relation to the number of flows (N): Ñ=p1/2. The result is that an AQM (Active Queue Management) with a PI (proportional integral) controller in the network has a limited range of optimal control.
PIE (PI controller extended) is an extension to the earlier PI AQM congestion controller. One of the extensions of PIE is the auto-tuning to the level of congestion that is required by the original PI AQM.
PIE defines ranges of the controlled probability where it applies different (optimal for the center-point of the range) proportional and integral gain factors. It is a stepwise solution, and the more steps defined, the more parameters are required, but the better the control. Still, a more straightforward but effective solution would be desirable.
Note that the techniques or schemes described herein as existing or possible are presented as background for the present invention, but no admission is made thereby that these techniques and schemes were heretofore commercialized or known to others besides the inventors.